#test.exe:test.o
#	gcc test.o -o test.exe
#test.o:test.s
#	gcc -c test.s -o test.o
#test.s:test.i
#	gcc -s test.i -o test.s
#test.i:test.c
#	gcc -e test.c -o test.i

BIN=code.exe 
#SRC=$(shell ls *.c)
SRC=$(wildcard *.c)              #wildcard获取当前目录所有.c文件
OBJ=$(SRC:.c=.o)                 #将SRC中的所有同名.c替换为.o，形成目标文件列表
CC=gcc 
RM=rm -rf

$(BIN):$(OBJ)
	@$(CC) $^ -o $@              #@:不回显
	@echo "linking...$^ to $@"
%.o:%.c                          #展开当前目录下的.c文件，同时展开同名.o
	@$(CC) -c $< -o $@
	@echo "compling...$< to $@"

.PHONY:clean
clean:
	@echo "清理工程..."
	@$(RM) $(BIN) $(OBJ)         #删除.o,.exe文件
	@echo "清理完成..."

.PHONY:test
test:
	@echo $(SRC)
	@echo $(OBJ)
